package fr.paris.lutece.plugins.${plugin.name}.business.dao;

import fr.paris.lutece.plugins.${plugin.name?cap_first}.commons.ResultList;
import fr.paris.lutece.util.jpa.IGenericDAO;
import fr.paris.lutece.plugins.lel.business.bean.Bean;
import fr.paris.lutece.plugins.lel.business.bean.Filter;


/**
 * The ${bean.name?cap_first} interface for DAO
 * @author ${bean.author}
 */
public interface I${plugin.name?cap_first}DAO<K, E> extends IGenericDAO<K, E> {

	/**
	 * 
	 * @param paginationProperties the pagination properties
	 * @return the results list
	 */
	ResultList<E> findAll(PaginationProperties paginationProperties);

	/**
	 * Get ${bean.name} with filter
	 * @param filter the filter
	 * @param paginationProperties the pagination properties
	 * @return the result with filter
	 */
	ResultList<Bean> find(Filter filter, PaginationProperties paginationProperties);

	
}
